package com.erp.erp_servers.Purchase;

import com.erp.erp_entitys.Purchase.ExportVo;
import com.erp.erp_entitys.Purchase.PurchaseProduct;
import com.erp.erp_entitys.Purchase.TaskVo;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface IPurchaseProductService {
    int deleteByPrimaryKey(Integer id);

    int insert(PurchaseProduct record);

    int insertSelective(PurchaseProduct record);

    PurchaseProduct selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(PurchaseProduct record);

    int updateByPrimaryKey(PurchaseProduct record);

    int updateProValidByProList(List<PurchaseProduct> proList);

    List<PurchaseProduct> selectProductByPuId(Integer puId);

    int deleteByIdList(@Param("idList") List<Integer> idList);

    PageInfo<ExportVo> selectExportByList(ExportVo vo);

    PageInfo<PurchaseProduct> selectExportProductByExIds(List<Integer> idList);

    int upExportProductNum(Map<String, Object> map);

    PageInfo<PurchaseProduct> selectExportProductPartByCode(String productCode, String productGgCode);

    PageInfo<TaskVo> selectTaskByList(TaskVo vo);

    PageInfo<PurchaseProduct> selectTaskProductByTaskIds(List<Integer> idList);

    PageInfo<PurchaseProduct> selectExportPartByExportIds(List<Integer> idList);

    PageInfo<PurchaseProduct> selectTaskPartByTaskIds(List<Integer> idList);
}